_o_p Specifies the accumulation buffer operation. Symbolic constants
GGGGLLLL____AAAACCCCCCCCUUUUMMMM, GGGGLLLL____LLLLOOOOAAAADDDD, GGGGLLLL____AAAADDDDDDDD, GGGGLLLL____MMMMUUUULLLLTTTT, and GGGGLLLL____RRRREEEETTTTUUUURRRRNNNN are accepted.
_v_a_l_u_e Specifies a floating-point value used in the accumulation buffer
operation. _o_p determines how _v_a_l_u_e is used.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
The accumulation buffer is an extended-range color buffer. Images are
not rendered into it. Rather, images rendered into one of the color
buffers are added to the contents of the accumulation buffer after
rendering. Effects such as antialiasing (of points, lines, and
polygons), motion blur, and depth of field can be created by accumulating
images generated with different transformation matrices.
Each pixel in the accumulation buffer consists of red, green, blue, and
alpha values. The number of bits per component in the accumulation
buffer depends on the implementation. You can examine this number by
calling ffffggggllllGGGGeeeettttIIIInnnntttteeeeggggeeeerrrrvvvv four times, with arguments GGGGLLLL____AAAACCCCCCCCUUUUMMMM____RRRREEEEDDDD____BBBBIIIITTTTSSSS,
GGGGLLLL____AAAACCCCCCCCUUUUMMMM____GGGGRRRREEEEEEEENNNN____BBBBIIIITTTTSSSS, GGGGLLLL____AAAACCCCCCCCUUUUMMMM____BBBBLLLLUUUUEEEE____BBBBIIIITTTTSSSS, and GGGGLLLL____AAAACCCCCCCCUUUUMMMM____AAAALLLLPPPPHHHHAAAA____BBBBIIIITTTTSSSS.
Regardless of the number of bits per component, the range of values
stored by each component is [-1, 1]. The accumulation buffer pixels are
mapped one-to-one with frame buffer pixels.
ffffggggllllAAAAccccccccuuuummmm operates on the accumulation buffer. The first argument, _o_p, is
a symbolic constant that selects an accumulation buffer operation. The
second argument, _v_a_l_u_e, is a floating-point value to be used in that
operation. Five operations are specified: GGGGLLLL____AAAACCCCCCCCUUUUMMMM, GGGGLLLL____LLLLOOOOAAAADDDD, GGGGLLLL____AAAADDDDDDDD,
GGGGLLLL____MMMMUUUULLLLTTTT, and GGGGLLLL____RRRREEEETTTTUUUURRRRNNNN.
All accumulation buffer operations are limited to the area of the current
scissor box and are applied identically to the red, green, blue, and
alpha components of each pixel. If a ffffggggllllAAAAccccccccuuuummmm operation results in a
value outside the range [-1, 1], the contents of an accumulation buffer
pixel component are undefined.
The operations are as follows:
GGGGLLLL____AAAACCCCCCCCUUUUMMMM Obtains R, G, B, and A values from the buffer currently
selected for reading (see ffffggggllllRRRReeeeaaaaddddBBBBuuuuffffffffeeeerrrr). Each component
n
value is divided by 2 -1, where n is the number of bits
allocated to each color component in the currently selected
buffer. The result is a floating-point value in the range
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllAAAAccccccccuuuummmm is executed between the
execution of ffffggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ffffggggllllEEEEnnnndddd.